import axios from 'axios'

// 创建一个axios对象
const request = axios.create({
  baseURL: "http://localhost:8081/api/", // 请求的基础路径
  timeout: 5000 // 请求超时时间
})

// request拦截器
// 可以在请求发送前对请求做一些处理
// 如统一加token，对请求参数统一加密等等
request.interceptors.request.use(
    config => {
    // 在发送请求之前做某事
    if (!(config.data instanceof FormData)) {
      config.headers['Content-Type'] = 'application/json;charset=UTF-8';
    }
    const user = localStorage.getItem('user');
    if (user) {
      config.headers['token'] = JSON.parse(user).token;
    }
    return config
  }, error => {
    return Promise.reject(error)
  });

  // response拦截器
  // 可以在接口响应之后统一处理结果
  request.interceptors.response.use(
    response => {
      // 对响应数据做点什么
      let res = response.data; // 这里的data是后端返回的json数据(Result)
      if (typeof res === 'string') {
        res = res ? JSON.parse(res) : res
      }
      return res
    }, error => {
      // 对响应错误做点什么
      console.log('err' + error) // for debug
      return Promise.reject(error)
    });

    export default request